"""
    Author: Huang liuchao
    Contact: huanglc50@chinaunicom.cn
    Datetime: 2020/9/15 9:27
    Software: PyCharm
    File description：
        主函数
"""
import os
import Get_equipment as ge
import get_equipment_factory as gef
import get_equipment_factory_netcell as gefn
import get_onenet_unique_warning as gouw
import merage_data as md

if __name__ == '__main__':
    abspath = os.path.abspath('../../../data')  # 设置相对路径（基准路径）
    dir_path= abspath+r'\onenet_warning_data1'
    file_name=r'告警查询导出0104.xlsx'
    #先删除三个文件夹下的文件
    clear_dir_files = [r'get_equipment_factory', r'get_equipment_factory_netcell', r'get_onenet_unique_warning']
    for dirfile in clear_dir_files:
        file_list = []
        clear_dir_files_path = os.path.join(dir_path, dirfile)
        file_list = os.listdir(clear_dir_files_path)
        if len(file_list) != 0:
            for file in file_list:
                os.remove(os.path.join(clear_dir_files_path, file))
                print("%s已经被删除" % file)
        else:
            print("%s文件夹已经为空,不需要再删除！" % dirfile)

    # 1、处理源数据得出各个设备表（sbc、scscf、hss fe等）
    ge_file_name=file_name
    ge_file_path = os.path.join(dir_path,ge_file_name)
    ge_equip_col_name='设备类型'
    ge.get_equipment(ge_file_path,0,ge_equip_col_name)

    #2、在设备表的基础上，将设备表根据厂家再细分为华为、中兴、爱立信.
    #   读取源文件，遍历sheet（设备），每个sheet按照厂家再分，处理完
    #   产生新的表，每个表有三个sheet（华为、中兴、爱立信）。
    gef_dir_path = dir_path
    gef_file_name = ge_file_name
    gef_file_path = os.path.join(gef_dir_path, gef_file_name)
    gef.get_equipment_factory(gef_dir_path, gef_file_name)

    #3、在设备-厂家表的基础上，再根据网元细分，得到每个厂家对应的网元。.
    gefn_dir_path = abspath + r'\onenet_warning_data1\get_equipment_factory'
    gefn_to_dir_path = abspath + r'\onenet_warning_data1\get_equipment_factory_netcell'
    gefn.get_equipment_factory_netcell(gefn_dir_path,gefn_to_dir_path)

    #4、在设备-厂家-网元表的基础上，遍历get_equipment_factory_netcell文件夹统计出每个网元的单一告警
    gouw_dir_path = abspath + r'\onenet_warning_data1\get_equipment_factory_netcell'
    gouw_to_dir_path = abspath + r'\onenet_warning_data1\get_onenet_unique_warning'
    gouw.get_onenet_unique_warning(gouw_dir_path, gouw_to_dir_path)

    #5、遍历get_onenet_unique_warning文件夹，将数据规整到一个excel表中（unique_onenet_warning_detail.xlsx）,
    # 去重结果在unique_onenet_warning.xlsx
    md_dir_name=r'get_onenet_unique_warning'
    md_dir_path = os.path.join(dir_path,md_dir)
    to_file_name = to_file_name=r'unique_onenet_warning_detail.xlsx'
    md_to_file_path = os.path.join(dir_path, to_file_name)
    file_list = os.listdir(md_dir_path)
    head_file_name = file_list[0]
    md_head_file_path = os.path.join(md_dir_path, head_file_name)
    # md_to_file_path = r'E:\Pycharm_workspace\alarm_think\data\onenet_warning_data1\unique_onenet_warning_detail.xlsx'
    # md_get_head_file_path = r'E:\Pycharm_workspace\alarm_think\data\onenet_warning_data1\get_onenet_unique_warning\单一告警中兴设备Gomc.xlsx'
    md.merage_data(md_dir_path, md_to_file_path, md_head_file_path)

